#include<stdio.h>
#include<conio.h>

// Cau 2.4a

void NhapMaTran(float a[][10], int &m, int &n)
{
	printf("\n Nhap vao so dong cua Ma Tran ");scanf("%d",&m);
	printf("\n Nhap vao so cot cua Ma Tran ");scanf("%d",&n);
	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++)
		{
			printf("\n Nhap vao gia tri a[%d][%d]= ",i,j);scanf("%f",&a[i][j]);
		}

}

// Cau 2.4b
void XuatMaTran(float a[][10], int m, int n)
{
	printf("\n\n Ma Tran cua ban la ");
	for(int i=0;i<m;i++)
	{
		printf("\n");
		for(int j=0;j<n;j++)
			printf("%.1f\t",a[i][j]);
	}
}
// Cau 2.4f
void Tich_Hai_MaTran(float a[][10], float b[][10], float c[][10], int ma, int na, int mb, int nb)
{
	// khoi tao c[][]
	for(int i=0;i<ma;i++)
		for(int j=0;j<nb;j++)
			c[i][j]=0;
	for(int k=0;k<mb;k++)
		for(int i=0;i<ma;i++)
			for(int j=0;j<nb;j++)
				c[i][j]=c[i][j]+a[i][k]*b[k][j];
	
			

}
// Cau 2.4c
void TimMax(float a[][10], int m, int n)
{
	float max= a[0][0];
	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++)
			if(max<a[i][j])	max=a[i][j];
	printf("\n Gia tri lon nhat cua Ma Tran la %.1f",max);
}
void TimMin(float a[][10], int m, int n)
{
	float min= a[0][0];
	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++)
			if(min>a[i][j])	min=a[i][j];
	printf("\n Gia tri nho nhat cua Ma Tran la %.1f",min);
}
void TimTong(float a[][10], int m, int n)
{
	float tong= 0;
	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++)
			tong+=a[i][j];
	printf("\n Tong cua Ma Tran la %.1f",tong);
}
// Cau 2.4d
void TimMin_TungDong(float a[][10], int m, int n)
{
	for(int i=0;i<m;i++)
	{
		float min = a[i][0];
		for(int j=0;j<n;j++)
			if(min>a[i][j])	min=a[i][j];
		printf("\n Gia tri nho nhat cua dong %d la %.1f",i,min);
	}
}
void TimMin_TungCot(float a[][10], int m, int n)
{
	for(int j=0;j<n;j++)
	{
		float min = a[0][j];
		for(int i=0;i<m;i++)
			if(min>a[i][j])	min=a[i][j];
		printf("\n Gia tri nho nhat cua cot %d la %.1f",j,min);
	}
}
void main()
{
	float a[10][10], b[10][10], c[10][10];
	int ma, na, mb, nb;
	int m, n;
	/*NhapMaTran(a,m,n);
	XuatMaTran(a,m,n);
	TimMax(a,m,n);
	TimMin(a,m,n);
	TimTong(a,m,n);
	TimMin_TungDong(a,m,n);
	TimMin_TungCot(a,m,n);*/
	NhapMaTran(a,ma,na);
	XuatMaTran(a,ma,na);
	NhapMaTran(b,mb,nb);
	XuatMaTran(b,mb,nb);
	Tich_Hai_MaTran(a,b,c,ma,na,mb,nb);
	XuatMaTran(c,ma,nb);
	getch();
	
}
